package org.snail.common;

import lombok.NonNull;

import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DataUtils {

    /**
     * @function 将double类型保留两位小数
     * @param num  double类型
     * @return  Double num2
     */
    public static Double doubleFor2(Double num) {
        BigDecimal b = new BigDecimal(num);
        double num2 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        return num2;
    }

    //测试  dddddd
//    public static void main(String[] args){
//        System.out.println(doubleFor2Points(0.6666));
//
//    }

    /**
     * 两个double类型相加
     */
    /**
     * 两个Double数相加
     * @param v1 第一个相加的数值
     * @param v2 第二个相加的数值
     * @return Double
     */
    public static Double add(@NonNull Double v1, @NonNull Double v2){
        BigDecimal b1 = new BigDecimal(v1.toString());
        BigDecimal b2 = new BigDecimal(v2.toString());
        return b1.add(b2).doubleValue();
    }

    /**
     * 计算两个时间相差多少分钟
     * @param time1
     * @param time2
     * @return
     */
    public static Double calcMinutes(String time1,String time2){
        Double time = null;
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
        Date d1 = null;
        Date d2 = null;
        try {
            d1 = sdf.parse(time1);
            d2 = sdf.parse(time2);
        } catch (ParseException e) {

        }
        if(d2!=null&&d2!=null) {
            Long interval = d2.getTime() - d1.getTime();
            time = (double) (interval / 1000 / 60);
        }
        return time;
    }
}
